import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { ICountryPrx } from "./ICountryPrx";
import { AMI_ICountry_callTogether } from "./AMI_ICountry_callTogether";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_ICountry_chooseMassacreServer } from "./AMI_ICountry_chooseMassacreServer";
import { AMI_ICountry_forbidTalking } from "./AMI_ICountry_forbidTalking";
import { SEntityId } from "../Public/SEntityId";
import { AMI_ICountry_getCountryMoneyRecords } from "./AMI_ICountry_getCountryMoneyRecords";
import { AMI_ICountry_getCrossCountryList } from "./AMI_ICountry_getCrossCountryList";
import { AMI_ICountry_getOfficerInfo } from "./AMI_ICountry_getOfficerInfo";
import { AMI_ICountry_giveCountryMoney } from "./AMI_ICountry_giveCountryMoney";
import { DictStrIntHelper } from "../Public/DictStrIntHelper";
import { AMI_ICountry_openCountryBuff } from "./AMI_ICountry_openCountryBuff";
import { AMI_ICountry_operPosition } from "./AMI_ICountry_operPosition";
import { ECountryPositionOperType } from "./ECountryPositionOperType";
import { ECountryPosition } from "./ECountryPosition";
import { AMI_ICountry_showCountryTitle } from "./AMI_ICountry_showCountryTitle";
type int = number;
//class ICountryPrxHelper
    
    export  class ICountryPrxHelper extends RMIProxyObject implements ICountryPrx
    {
        constructor()
        {
            
            super();name = "ICountry";
            return;
        }

        public callTogether_async(arg1: AMI_ICountry_callTogether): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("callTogether");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public chooseMassacreServer_async(arg1: AMI_ICountry_chooseMassacreServer, arg2: int, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("chooseMassacreServer");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public forbidTalking_async(arg1: AMI_ICountry_forbidTalking, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("forbidTalking");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getCountryMoneyRecords_async(arg1: AMI_ICountry_getCountryMoneyRecords): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getCountryMoneyRecords");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getCrossCountryList_async(arg1: AMI_ICountry_getCrossCountryList): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getCrossCountryList");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getOfficerInfo_async(arg1: AMI_ICountry_getOfficerInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getOfficerInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public giveCountryMoney_async(arg1: AMI_ICountry_giveCountryMoney, arg2: Map<any, any> /* flash.utils.Dictionary */): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("giveCountryMoney");
            var loc3=new SerializeStream();
            DictStrIntHelper.write(loc3, arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public openCountryBuff_async(arg1: AMI_ICountry_openCountryBuff): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("openCountryBuff");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public operPosition_async(arg1: AMI_ICountry_operPosition, arg2: int, arg3: int, arg4: ECountryPositionOperType, arg5: ECountryPosition): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("operPosition");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            arg4.__write(loc3);
            arg5.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public showCountryTitle_async(arg1: AMI_ICountry_showCountryTitle, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("showCountryTitle");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.ICountry";
    }
